package com.lsm.czxxgl_system.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lsm.czxxgl_system.model.domain.Czylb;
import com.lsm.czxxgl_system.model.domain.User;
import com.lsm.czxxgl_system.model.request.CzSearchRequest;
import com.lsm.czxxgl_system.service.CzylbService;
import com.lsm.czxxgl_system.mapper.CzylbMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author shu
* @description 针对表【czylb】的数据库操作Service实现
* @createDate 2024-06-27 14:00:51
*/
@Service
public class CzylbServiceImpl extends ServiceImpl<CzylbMapper, Czylb>
    implements CzylbService{

    @Override
    public Czylb searchByPriKey(String name, String code) {
        //设置主键对
        QueryWrapper<Czylb> czylbQueryWrapper = new QueryWrapper<>();
        czylbQueryWrapper.eq("obj_code",code);
        czylbQueryWrapper.eq("obj_name",name);
        return this.getOne(czylbQueryWrapper);
    }

    @Override
    public boolean saveCzyl(Czylb czyl) {
        //todo 判断参数是否为空
        return this.save(czyl);
    }

    @Override
    public boolean updateCzxx(Czylb czylb, String objCodeOri, String objNameOri) {
        //根据原始主键对设置查询条件
        QueryWrapper<Czylb> czylbQueryWrapper = new QueryWrapper<>();
        czylbQueryWrapper.eq("obj_code",objCodeOri);
        czylbQueryWrapper.eq("obj_name",objNameOri);
        return this.update(czylb,czylbQueryWrapper);
    }

    @Override
    public boolean removeByNameAndCode(String name, String code) {
        //设置主键对
        QueryWrapper<Czylb> czylbQueryWrapper = new QueryWrapper<>();
        czylbQueryWrapper.eq("obj_code",code);
        czylbQueryWrapper.eq("obj_name",name);
        return this.remove(czylbQueryWrapper);

    }


    @Override
    public List<Czylb> searchByCondition(CzSearchRequest czSearchRequest) {
        String staCode = czSearchRequest.getStaCode();
        String staName = czSearchRequest.getStaName();
        QueryWrapper<Czylb> czQueryWrapper = new QueryWrapper<>();
        //根据查询条件设置queryWrapper对象
        if (!StringUtils.isBlank(staCode)) {
            czQueryWrapper.like("sta_code",staCode);
        }
        if (!StringUtils.isBlank(staName)) {
            czQueryWrapper.like("sta_name",staName);
        }
        //根据条件查询数据库
        return this.list(czQueryWrapper);
    }
}




